package com.learn.dto.system.base;

import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * token详情
 *
 * @author chunyanye
 * @version 2022/10/31
 * @see [相关类/方法]
 * @since [cloud-phone-baseline]
 */
@Data
@Accessors (chain = true)
@JsonInclude (JsonInclude.Include.NON_NULL)
public class Token implements Serializable
{
	private static final long serialVersionUID = 7922841540834787786L;

	/**
	 * token （Y）
	 */
	private String accessToken;

	/**
	 * token到期时间（Y）
	 */
	private LocalDateTime expireTime;

	/**
	 * 账户（Y）
	 */
	private String account;

	/**
	 * token创建时间（Y）
	 */
	private LocalDateTime createTime;

	/**
	 * token有效时长（Y）
	 */
	private Long expires;

	/**
	 * token类型: bearer
	 */
	private String applyType;

	/**
	 * 范围
	 */
	private String scope;

	/**
	 * csrfToken
	 */
	private String csrfToken;

	/**
	 * 登陆用户账号
	 */
	private String loginAccount;

	/**
	 * 刷新token
	 */
	private String refreshToken;

	/**
	 * 登录渠道
	 */
	private String channel;
}
